import serial
import time

try:
    # 配置串口参数
    ser = serial.Serial(
        port='COM6',  # 根据实际情况修改串口号，Windows 一般为 COMx，Linux 为 /dev/ttyUSBx 或 /dev/ttySx
        baudrate=115200,  # 波特率，需与设备设置一致
        timeout=1  # 超时时间，单位为秒
    )
    print(f"成功连接到串口: {ser.name}")

    # 定义要发送的命令
    command = "ls"  # 替换为实际要发送的命令
    command_bytes = command.encode('utf-8')  # 将命令转换为字节类型

    # 发送命令到设备
    ser.write(command_bytes)
    print(f"已发送命令: {command}")

    # 等待一段时间，让设备有时间响应
    time.sleep(0.1)

    # 读取设备的响应
    received_data = ser.readline()  # 读取一行数据
    if received_data:
        print(f"接收到的数据: {received_data.decode('utf-8')}")
    else:
        print("未接收到数据。")

except serial.SerialException as e:
    print(f"串口连接出错: {e}")
except Exception as e:
    print(f"发生未知错误: {e}")
finally:
    # 关闭串口连接
    if 'ser' in locals() and ser.is_open:
        ser.close()
        print("串口连接已关闭。")
